Skip to content

Use Sonic VPP image#301

Draft
l0wl3vel wants to merge 24 commits into
masterfrom
feat/sonic-vpp
Draft

Use Sonic VPP image#301
l0wl3vel wants to merge 24 commits into
masterfrom
feat/sonic-vpp

Conversation

@l0wl3vel

@l0wl3vel l0wl3vel commented May 20, 2026

Copy link
Copy Markdown

Description

Use Sonic VPP image to emulate switch behaviour more accurately

What works

  • SONiC image building (locally)
  • Static breakout configuration (Dynamic breakouts are not supported)
  • SONiC config_db.json generation and loading

Outstanding issues

mini-lab

sonic-vpp related

In summary:

  • sonic-vpp is missing multicast punting for ICMPv6 (IPv6 Router Advertisements) and DHCP. Proper fixes requires (imo. uncontroversial) SONiC sairedis code change, as they merged this in march: vpp: support ARP passthrough sonic-net/sonic-sairedis#1792, which has the same purpose, but for IPv4

  • mini-lab sonic containerlab image changes to the launch.py shoud be merged anyway regardless of sonic-vpp. sonic-vs just about worked with the previous hacks in launch.py, while sonic-vpp needs the startup sequence and included configuration rendering around switch hardware configuration to stay intact to even boot vpp. Cherry pick mini-lab sonic containerlab changes from #301 #310

closes: #300

Used AI-Tools ✨

  • Claude Opus used as research buddy/stand-in in for missing SONiC documentation

l0wl3vel added 14 commits May 8, 2026 16:58
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
l0wl3vel added 5 commits May 20, 2026 21:53
it is hold together by hopes and dreams, is slow as all hell, but it works

Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
current issue: DHCP discovers from machines do not arrive

Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
l0wl3vel added 3 commits May 28, 2026 11:03
e1000 did not play well with vpp due to tx/rx queue count mismatch
(vpp expected two, e1000 had one, second tx queue did overflow since
it never got emptied by the virtual nic)

Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
troubleshooting steps to isolate why the dhcp return path via dhcp relay
does not work

Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
includes
sonic-net/sonic-platform-vpp#212
and sonic-net/sonic-platform-vpp#220
for troubleshooting reasons

Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Removed hacks, that just about worked in sonic-vs but broke in sonic-vpp
- sonic-vpp requires first time init to generate
  VPP config files from hwsku lanemap and port
  config. If skipped the syncd container, in which
  vpp runs, will crash immediately
- /etc/sonic/sonic-environment is generated on first boot from
  /usr/share/sonic/device/x86_64-kvm_x86_64-r0/default_sku,
  so writing it serves no purpose as we reenabled firstboot
- switch to telnetlib3, due to telnetlib being deprecated

Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Signed-off-by: Benjamin Ritter <benjamin.ritter@x-cellent.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Use sonic-vpp target for OSS SONiC images

1 participant